/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pe.edu.uch.syscom.managedbeans.uibeans;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import pe.edu.uch.syscom.mapping.TbCliente;
import pe.edu.uch.syscom.mapping.TbUsuario;
import pe.edu.uch.syscom.mapping.TbVenta;
import pe.edu.uch.syscom.mapping.TbVentaDetalle;
import pe.edu.uch.syscom.utils.CommonWeb;

/**
 *
 * @author Jose Tejada
 */
public class UIVentaBean extends TbVenta {

    private Integer m_iNumOrden;
//    private Integer m_iIdVenta;
    private Double m_dMontoTotal;
    private String m_sDniCliente;
    private String m_sNomCliente;
    private String m_sNomUsuario;
    private String m_sEstadoDesc;
    private TbVenta m_tbVenta;
    private List<TbVentaDetalle> m_lstVentaDetalle;

    public TbVenta getTbVenta() {
        return m_tbVenta;
    }

    public void setTbVenta( TbVenta tbVenta ) {
        m_tbVenta = tbVenta;
    }

    public Integer getNumOrden() {
        return m_iNumOrden;
    }

    public void setNumOrden( Integer iNumOrden ) {
        m_iNumOrden = iNumOrden;
    }

    public Double getMontoTotal() {
        return m_dMontoTotal;
    }

    public void setMontoTotal( Double dMontoTotal ) {
        m_dMontoTotal = dMontoTotal;
    }

    public String getEstadoDesc() {
        return m_sEstadoDesc;
    }

    public void setEstadoDesc( String sEstado ) {
        this.m_sEstadoDesc = sEstado;
    }

    public String getNomCliente() {
        return m_sNomCliente;
    }

    public String getDniCliente() {
        return m_sDniCliente;
    }

    public void setDniCliente( String m_sDNICliente ) {
        this.m_sDniCliente = m_sDNICliente;
    }

    public void setNomCliente( String sNomCliente ) {
        this.m_sNomCliente = sNomCliente;
    }

    public String getNomUsuario() {
        return m_sNomUsuario;
    }

    public void setNomUsuario( String sNomUsuario ) {
        this.m_sNomUsuario = sNomUsuario;
    }

    public List<TbVentaDetalle> getLstVentaDetalle() {
        return m_lstVentaDetalle;
    }

    public void setLstVentaDetalle( List<TbVentaDetalle> lstVentaDetalle ) {
        this.m_lstVentaDetalle = lstVentaDetalle;
    }

    public void convertir( int iNumOrden, TbVenta tbVenta ) {
        TbCliente cli;
        TbUsuario usu;
        TbVentaDetalle vd;
        Iterator<TbVentaDetalle> it;
        
        m_tbVenta = tbVenta;
        m_iNumOrden = iNumOrden;
        cli = tbVenta.getTbCliente();
        usu = tbVenta.getTbUsuario();
        if ( cli == null ) {
            m_sDniCliente = m_sNomCliente = "NO DETERMINADO";
        } else {
            m_sNomCliente = cli.getApPaterno() + " " + cli.getApMaterno() + ", " + cli.getNombres();
            m_sDniCliente = cli.getDni();
        }

        if ( usu == null ) {
            m_sNomUsuario = "NO DETERMINADO";
        } else {
            m_sNomUsuario = usu.getUsuario();
        }
        m_dMontoTotal = 0.0;
        this.setTbVentaDetalles( tbVenta.getTbVentaDetalles() );
        if ( this.getTbVentaDetalles() != null ) {
            m_lstVentaDetalle = new ArrayList<TbVentaDetalle>();
            it = this.getTbVentaDetalles().iterator();
            while ( it.hasNext() ) {
                vd = it.next();
                if ( vd.getActivo().intValue() == 1 ) {
                    if ( vd.getTbProducto() != null ) {
                        vd.setTallaDesc( CommonWeb.getCatDesc( vd.getTbProducto().getTalla() ) );
                    }
                    m_dMontoTotal += vd.getCantidad() * vd.getPrecioUnidad();
                    m_lstVentaDetalle.add( vd );
                }
            }
        }
        m_sEstadoDesc = CommonWeb.getCatDesc( tbVenta.getEstado() );
        this.setIdVenta( tbVenta.getIdVenta() );
        this.setFecha( tbVenta.getFecha() );
    }
}
